An Empirical Study of Experienced Programmers’ Acquisition of New Programming Languages
نویسنده
چکیده
Experienced programmers often need to use online resources to pick up new programming languages. However, we lack a comprehensive understanding of which resources programmers find most valuable and utilize most often. In this paper, we study how experienced programmers learn Rust, a systems programming language with comprehensive documentation, extensive example code, an active online community, and descriptive compiler errors. We develop a task that requires understanding the Rust-specific language concepts of mutability and ownership, in addition to learning Rust syntax. Our results show that users spend 42% of online time viewing example code and that programmers appreciate the Rust Enhanced package’s in-line compiler errors, choosing to refresh every 30.6 seconds after first discovering this feature. We did not find any significant correlations between the resources used and the total task time or the learning outcomes. We discuss these results in light of design implications for language developers seeking to create resources to encourage usage and adoption by experienced programmers. Author
منابع مشابه
Design Strategies and Knowledge in Object-Oriented Programming: Effects of Experience
An empirical study was conducted to analyse design strategies and knowledge used in object-oriented software design. Eight professional programmers experienced with procedural programming languages and either experienced or not experienced in objectoriented programming participated in this experiment. They were asked to design a program for a procedural problem and a declarative problem. We hav...
متن کاملThe Function, and Dysfunction, of Information Sources in Learning Functional Programming
Programmers experienced in using imperative languages can increasingly benefit from also knowing how to use functional languages. However, even if programmers have already mastered general programming constructs such as types and recursion, actually expressing these in a functional language can be challenging. In this paper, we present an observational study investigating what information sourc...
متن کاملThe Reaction of Open-Source Projects to New Language Features: An Empirical Study of C# Generics
Language designers introduce new language features in programming languages because those features are claimed to be bene cial. In this paper, we investigate claims made about the generics language feature, and compare how those claims stack up in C# versus Java. Through an empirical study of the generics feature in open-source projects, we found that (1) although they have the same claimed ben...
متن کاملNovice Programmers’ Faults & Failures in GOAL Programs: Empirical Observations and Lessons
What are the types of mistakes (“faults”) that novice GOAL programmers make, and how do they manifest as failures? This question is important since it has significant implications to the ongoing design of GOAL, and other agent-oriented programming languages; to the ongoing development of tools that support GOAL programmers; and to how we teach agent-oriented programming. In this paper we develo...
متن کاملOn the Benefits of Combining Functional and Imperative Programming for Multicore Software An Empirical Study Comparing Scala and Java
Recent multi-paradigm programming languages combine functional and imperative programming styles to make software development easier. Given today’s proliferation of multicore processors, parallel programmers are supposed to benefit from this combination, as many difficult problems can be expressed more easily in a functional style while others match an imperative style. However, due to a lack o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017